package com.quickd.service.dto.wms;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.quickd.core.dto.BaseDto;
import lombok.Data;
import cn.afterturn.easypoi.excel.annotation.Excel;
import java.util.Date;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import com.quickd.core.validator.group.AddGroup;
import com.quickd.core.validator.group.DefaultGroup;
import com.quickd.core.validator.group.UpdateGroup;
import java.math.BigDecimal;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.quickd.core.annotation.DictAno;
/**
 * 物料
 *
 * @author quickd quickd@dacanginfo.com
 * @since 2019-10-11
 */
@Data
@ApiModel(value = "物料")
public class MaterialDTO extends BaseDto {
        
         @ApiModelProperty(value = "物料编码" )
            @Excel(name = "物料编码")
            private String code;
        
         @ApiModelProperty(value = "物料条码" )
            @Excel(name = "物料条码")
            private String barCode;
        
         @ApiModelProperty(value = "物料名称" , required = true)
     @NotBlank(message="物料名称 不能为空", groups = DefaultGroup.class)
             @Excel(name = "物料名称")
            private String name;
        
         @ApiModelProperty(value = "类型" )
            @DictAno(dicCode = "material_type")
        @Excel(name = "类型")
            private String type;
        
         @ApiModelProperty(value = "单位" )
            @DictAno(dicCode = "unit")
        @Excel(name = "单位")
            private String unit;
        
         @ApiModelProperty(value = "物料规格" )
            @Excel(name = "物料规格")
            private String specification;
        
         @ApiModelProperty(value = "物料属性" )
            @Excel(name = "物料属性")
            private String attr;
        
         @ApiModelProperty(value = "供应商编码" )
            @Excel(name = "供应商编码")
            private String customerCode;
        
         @ApiModelProperty(value = "供应商" )
            @Excel(name = "供应商")
            private String customerName;
        
         @ApiModelProperty(value = "存储类型1 托盘 2 堆放" )
            @DictAno(dicCode = "storage_type")
        @Excel(name = "存储类型1 托盘 2 堆放")
            private Integer storageType;
        
         @ApiModelProperty(value = "有效天" )
            @Excel(name = "有效天")
            private Integer validDay;
        
         @ApiModelProperty(value = "重量" )
            @Excel(name = "重量")
            private BigDecimal weight;
        
         @ApiModelProperty(value = "体积" )
            @Excel(name = "体积")
            private BigDecimal volume;
        
         @ApiModelProperty(value = "库存数量" )
            @Excel(name = "库存数量")
            private BigDecimal quantity;
        }